@哈哈鱼
3年前 提问
1个回答

简单python爬虫完整代码

趣能一姐
3年前

一、导入需要用到的库

在这个通用公式里,我们要用到的库只有两个,一个是requests,另一个就是lxml里的etree,并且在通用公式中,第一个步骤的代码不需要进行任何改动,具体代码如下:

import requests
from lxml import etree

二、确定URL和请求头

url就是我们想要爬取的网站的链接,而请求头是从网站上的源代码处复制过来的,具体方法如下:


url='https://www.XXX.com/'

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36',
           'Referer': 'https://www.XXX.com/'}

三、编写获取数据的函数

首先我们要定义一个函数,因为都是实现获取数据的功能,所以我们将其命名为:get_data(),然后将设置好的headers传入,目的是为了防止反爬。而encoding对应的是编码方式,这是为了防止获取到的网页内容乱码而设置的。紧接着我们就是要设置selector选择器,然后通过xpath方法来获取内容对应的xpath路径,具体获取方法为:右键点击网页任意空白处,选择检查。然后在弹出的窗口中,点击左上角的箭头符号,将箭头移动到你想要获取的数据位置,点击定位一下,然后再回到网页源代码处,点击右键,选择copy,再选择copy xpath,然后再将复制好的路径粘贴到我们编写的代码中。因为我们想获取的是标题对应的文本内容,所以我们需要在复制到的xpath路径后加上:/text()

具体实现代码如下:


def get_data(url):
    response = requests.get(url, headers=headers)
    response.encoding = 'utf-8'
    selector = etree.HTML(response.text)
    content = selector.xpath('//*[@id="newpcnews-1"]/div/div[2]/a[1]/div/text()')  
    print(content)

四、调用函数

函数定义好之后,我们就需要调用它,调用的方法就是将定义好的函数名称复写一遍,然后再将url传入即可。也可理解为这是在给整个代码设置一个开关,只有有了这一个开关,运行代码时程序才能跑起来。具体代码如下:

get_data(url)

完整代码


import requests
from lxml import etree

url='https://www.XXX.com/'

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36',
           'Referer': 'https://www.XXX.com/'}

def get_data(url):
    response = requests.get(url, headers=headers)
    response.encoding = 'utf-8'
    selector = etree.HTML(response.text)
    content = selector.xpath('//*[@id="newpcnews-1"]/div/div[2]/a[1]/div/text()')  
    print(content)


get_data(url)